HTMX এ hx-target এবং hx-swap এর ভূমিকা
HTMX ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরিতে সহজ এবং কার্যকরী উপায় প্রদান করে। এর মধ্যে hx-target এবং hx-swap দুটি গুরুত্বপূর্ণ attribute, যা AJAX কলের মাধ্যমে প্রাপ্ত কন্টেন্ট কিভাবে DOM-এ সন্নিবেশিত হবে তা নির্ধারণ করে। নিচে এই দুটি attribute এর বিস্তারিত বর্ণনা এবং উদাহরণ দেয়া হলো।
১. hx-target
১.১. বর্ণনা
hx-targetattribute নির্দেশ করে যে AJAX কলের মাধ্যমে প্রাপ্ত কন্টেন্টটি কোন HTML এলিমেন্টে সন্নিবেশিত হবে।- এটি DOM এর যে কোন উপাদানের ID বা CSS সিলেক্টর হিসেবে ব্যবহার করা যায়।
১.২. উদাহরণ
<button hx-get="/load-content" hx-target="#content">Load Content</button>
<div id="content"></div>
- ব্যাখ্যা: এখানে, বোতামে ক্লিক করলে HTMX
/load-contentURL থেকে ডেটা লোড করবে এবং প্রাপ্ত কন্টেন্ট#contentID এর ডিভে সন্নিবেশিত হবে।
২. hx-swap
২.১. বর্ণনা
hx-swapattribute নির্দেশ করে যে কিভাবে সার্ভার থেকে পাওয়া নতুন কন্টেন্টটি DOM-এ সন্নিবেশিত হবে।- এটি বিভিন্ন পদ্ধতি (swap methods) ব্যবহার করতে পারে, যেমন
innerHTML,outerHTML,beforebegin,afterend,afterbegin,replaceইত্যাদি।
২.২. উদাহরণ
<button hx-get="/load-data" hx-target="#content" hx-swap="beforeend">Load Data</button>
<div id="content"></div>
- ব্যাখ্যা: এখানে, বোতামে ক্লিক করলে HTMX
/load-dataURL থেকে ডেটা লোড করবে এবং নতুন কন্টেন্টটি#contentডিভের শেষে যুক্ত করবে (সাথে আগের কন্টেন্ট থাকবে)।
৩. hx-target এবং hx-swap একসাথে ব্যবহার
৩.১. উদাহরণ
<button hx-get="/add-task" hx-target="#task-list" hx-swap="afterbegin">Add Task</button>
<ul id="task-list">
<li>Existing Task 1</li>
</ul>
- ব্যাখ্যা: এখানে, বোতামে ক্লিক করলে HTMX
/add-taskURL থেকে একটি নতুন টাস্ক লোড করবে এবং সেটি#task-listএর শুরুতে যুক্ত করবে।
৪. বিভিন্ন hx-swap পদ্ধতির উদাহরণ
innerHTML: পুরানো কন্টেন্টকে সম্পূর্ণরূপে প্রতিস্থাপন করে।
hx-swap="innerHTML"
outerHTML: নির্বাচিত এলিমেন্টের পুরো এলিমেন্টটিকে প্রতিস্থাপন করে।
hx-swap="outerHTML"
beforebegin: নির্বাচিত এলিমেন্টের আগে নতুন কন্টেন্ট যুক্ত করে।
hx-swap="beforebegin"
afterend: নির্বাচিত এলিমেন্টের পরে নতুন কন্টেন্ট যুক্ত করে।
hx-swap="afterend"
replace: পুরানো কন্টেন্টকে প্রতিস্থাপন করে নতুন কন্টেন্টের মাধ্যমে।
hx-swap="replace"
সারসংক্ষেপ
hx-target: AJAX কলের মাধ্যমে প্রাপ্ত কন্টেন্টটি কোন HTML উপাদানে সন্নিবেশিত হবে তা নির্ধারণ করে।hx-swap: কিভাবে নতুন কন্টেন্টটি DOM-এ সন্নিবেশিত হবে তা নির্দেশ করে, বিভিন্ন পদ্ধতি (swap methods) ব্যবহার করে।
HTMX এর মাধ্যমে ডাইনামিক ওয়েব অ্যাপ্লিকেশন তৈরি করতে এই attributes গুলির সঠিক ব্যবহার অত্যন্ত গুরুত্বপূর্ণ, যা উন্নত ব্যবহারকারীর অভিজ্ঞতা এবং কার্যকরী ইন্টারঅ্যাকশন তৈরি করে।
Read more